cmake_minimum_required(VERSION 3.10)
project(USART_TEST)

# 设置C++标准
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 添加编译警告和优化选项
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -O1")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -O1")

# 查找多线程库（pthread）
find_package(Threads REQUIRED)

# 指定头文件目录（根据项目结构自行调整）
include_directories(${PROJECT_SOURCE_DIR}/Inc)

# 收集源文件（默认src目录下的所有.cpp文件）
set(SerialC++_SRCS ${PROJECT_SOURCE_DIR}/Src/serial_C++.cpp)

# 创建共享库
add_library(Seriallib SHARED ${SerialC++_SRCS})

# 创建可执行文件
add_executable(${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/Src/main.cpp)  # 这里假设你有一个 main.cpp 文件

# 链接多线程库和 Seriallib 库
target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads Seriallib)

# 如有其他依赖库链接，可在此处添加
# target_link_libraries(${PROJECT_NAME} some_library)
